%code
%include storeddata.inc %/include
%include resulttable.inc %/include
function CachedProperty (AItem: TCatalogItem; AXMPProperty: String): WideString;
begin
result := ToWideString ('');
Catalog.FindXMPCachedTagValueForItem (AItem, AXMPProperty, result);
result := Trim(result);
end;
function EmbeddedFlash (AItem: TCatalogItem): WideString;
const
cWidth = 640;
cHeight = 510;
begin
ALink := '%var:PageOffset/loadimage.psc?image=' + AItem.GUID + '&original=1';
result := toWideString('');
result := result + '';
end;
function EmbeddedQuickTime (AItem: TCatalogItem): WideString;
const
cWidth = 320;
cHeight = 300;
var
ALink: WideString;
begin
ALink := '%var:PageOffset/loadimage.psc?image=' + AItem.GUID + '&original=1';
result := toWideString('');
result := result + '';
end;
function EmbeddedWindowsMedia (AItem: TCatalogItem): WideString;
const
cWidth = 480;
cHeight = 360;
var
ALink: WideString;
begin
result := toWideString('');
ALink := '%var:PageOffset/loadimage.psc?image=' + AItem.GUID + '&original=1';
result := result + CrLf + '';
result := result + CrLf + '';
result := result + CrLf + '';
result := result + CrLf + '';
result := result + CrLf + '';
result := result + CrLf + '';
result := result + CrLf + '';
result := result + CrLf + '';
result := result + CrLf + '';
end;
function AddItemImage (AItem: TCatalogItem): WideString;
begin
result := toWideString('');
if WideSameText(WideExtractFileExt (AItem.FileName), '.mov') or
WideSameText(WideExtractFileExt (AItem.FileName), '.3gp')
then
result := result + EmbeddedQuickTime (AItem)
else if (
WideSameText(WideExtractFileExt (AItem.FileName), '.swf') or
WideSameText(WideExtractFileExt (AItem.FileName), '.flv')
)
then
result := result + EmbeddedFlash (AItem)
else if (
WideSameText(WideExtractFileExt (AItem.FileName), '.avi') or
WideSameText(WideExtractFileExt (AItem.FileName), '.mpg') or
WideSameText(WideExtractFileExt (AItem.FileName), '.mpeg') or
WideSameText(WideExtractFileExt (AItem.FileName), '.wmv')
)
then
result := result + EmbeddedWindowsMedia (AItem)
else
result := result + '';
end;
var
AItems: TCatalogItems;
AItem, ANextItem, APrevItem: TCatalogItem;
APage, ANextPage: Integer;
ALink: String;
AProps: TCatalogItemProps;
i: Integer;
begin
result := toWideString('');
if not FindStoredData (Request.Params.Values['ds'], AItems, False) then
exit;
APage := 1;
if IsValidNumberString(Request.Params.Values['page'], False) then
APage := StrToInt(Request.Params.Values['page']);
AItem := AItems.Items[APage - 1];
ANextPage := (APage div ThumbCount) + 1;
if APage mod ThumbCount = 0 then
ANextPage := ANextPage - 1;
if AItem.Index > 0 then
APrevItem := AItems.Items[AItem.Index - 1]
else
APrevItem := nil;
if AItem.Index < AItems.Count - 1 then
ANextItem := AItems.Items[AItem.Index + 1]
else
ANextItem := nil;
result := result + '
';
result := result + '
| ';
result := result + ' |
';
ALink := 'javascript:getHTML(''%var:PageOffset/./modules/resulttable.psc'', ''thumbs'', ''ds=' + Request.Params.Values['ds'] + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(ANextPage) + '&count=' + Request.Params.Values['count'] + '&thumbsize=' + Request.Params.Values['thumbsize'] + ''')';
result := result + ' '; result := result + ' ';
ALink := 'javascript:getHTML(''%var:PageOffset/./modules/resulttable.psc'', ''thumbs'', ''ds=' + Request.Params.Values['ds'] + '&GUID=' + AItems.GUID + '&Page=' + IntToStr(ANextPage) + '&count=' + Request.Params.Values['count'] + '&thumbsize=' + Request.Params.Values['thumbsize'] + ''')';
result := result + '';
result := result + AddItemImage (AItem);
result := result + '';
result := result + ' ';
result := result + ' | ';
result := result + ' ';
result := result + ' ';
result := result + ' ';
result := result + ' |
';
result := result + ' ';
AProps := TCatalogItemProps.Create (TCatalogItemProp, '');
Catalog.EnumPropsForItem (AItem, AProps, False, False);
Catalog.PathNameForProps (AProps, ' :: ', True);
AProps.Sort('PropName', stAscending);
for i := 0 to AProps.Count - 1 do
begin
result := result + ' | ' +
'' +
' ';
if IsAdmin then
begin
if AItem.MediumLoaded then
begin
if WideFileExists(AItem.FileName) then
begin
result := result + '' +
'![]() ![]() | ';
result := result + ' |
';
result := result + ' ';
//result := result + ' (loading...)';
result := result + ' ';
result := result + ' | ';
result := result + '